# -*- coding: utf-8 -*-
"""
Created on Thu Aug  3 11:00:09 2023

@author: skunk69
"""

import json

chinese_name = u'中文形容词大五人格量表（简式版）'
english_name = 'Chinese Adjectives Scale of Big-Five Factor Personality, Brief Version'
abbreviation = 'BFFP-CAS-B'
category = u'人格评估量表'

outline = u"""大五人格模型（外向性，神经质，严谨性，开放性，宜人性）得到了广泛的研究并被证明具有跨语言、跨文化和跨评定者的稳定性，并在维度层面上得到了人格心理学家的普遍接受。
罗杰和戴晓阳（2015）以“大五”人格模型为结构框架，运用人格研究的心理语言学方法编制了能够同时测量人格维度和特质层面，符合中国人语言表达习惯、信效度良好的《中文形容词大五人格量表》（Chinese Adjectives Scale of Big-Five Factor Personality, BFFP-CAS）。该量表包括104个条目，测量了5个人格维度和26个侧面特质。而《中文形容词大五人格量表（简式版）》则是在完整版基础上编制而成，主要测试了人各层面的5个维度（Extroversion、Neuroticism、Conscientiousness、Openness和Agreeablenesss）。
"""

instruction = u"""下面是一些描述人们性格特点的形容词，其中每一对词彼此之间都是对立的两极。请根据自己的真实感受选出最能描述自己的一极的认可程度。由于每个人的性格特点各不相同，所以答案没有对错之分，请根据您的实际情况作答。"""
items = {
    1:[u'缄默的',u'健谈的'],
    2:[u'猜疑的',u'信赖的'],
    3:[u'杂乱无章的',u'有条不紊的'],
    4:[u'焦虑的',u'镇静的'],
    5:[u'按部就班的',u'喜欢探索的'],
    6:[u'孤独的',u'乐群的'],
    7:[u'掩饰的',u'坦诚的'],
    8:[u'动摇的',u'坚定的'],
    9:[u'忧心的',u'开心的'],
    10:[u'循规蹈矩的',u'开拓创新的'],
    11:[u'孤僻的',u'好交际的'],
    12:[u'刻薄的',u'宽厚的'],
    13:[u'无恒心的',u'有恒心的'],
    14:[u'将信将疑的',u'坚定不移的'],
    15:[u'墨守成规的',u'标新立异的'],
    16:[u'沉寂的',u'活跃的'],
    17:[u'冷淡的',u'平易的'],
    18:[u'大意的',u'小心的'],
    19:[u'低落的',u'高昂的'],
    20:[u'保守的',u'开放的'],
    }

reverse_items = [4,9,14,19]
scales = [u'外向性',u'宜人性',u'严谨性',u'神经质',u'开放性']
scales_items = [
    [1,6,11,16],
    [2,7,12,17],
    [3,8,13,18],
    [4,9,14,19],
    [5,10,15,20],
    ]
factors = []
factors_scales = []
rating = [u'完全接近',u'比较接近',u'有点接近',u'有点接近',u'比较接近',u'完全接近']
score_rules = list(range(1,7))

implementation = u'自评式测量，适用于成人群体。'

reliability = u'正式样本来自广东、湖北、重庆和四川等7所高校的在校大学生和研究生，检验了因子结构、区分与聚合效度。'
validity = u'对于所采用样本，简式量表中五个维度的内部一致性（Alpha系数）和重测系数均比较理想。'
measurements = {'reliability':reliability,'validity':validity}

interpretation = u'首先将反向题目反向计分，然后将各维度题目相加得到各维度分。'

applications = u'实际应用效果有待后续研究结果的进一步验证。'

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':{
        'instruction':instruction,
        'items':items,
        'reverse_items':reverse_items,
        'scales':scales,
        'scales_items':scales_items,
        'factors':factors,
        'factors_scales':factors_scales,
        'rating':rating,
        'score_rules':score_rules        
                },
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)
